import random
HANGMAN_PICS = ['''
    +---+
        |
        |
        |
       ===''','''
    +---+
    0   |
        |
        |
       ===''','''
    +---+
    0   |
    |   |
        |
       ===''','''
    +---+
    0   |
    |\  |
        |
       ===''','''
    +---+
    0   |
   /|\  |
        |
       ===''','''
    +---+
    0   |
   /|\  |
   /    |
       ===''','''
    +---+
    0   |
   /|\  |
   / \  |
       ===''']
words= 'ayı bizon boğa ebabil kanguru \
kaplan keçi köpek \
lagos lüfer mercan ornitorenk ördek \
sivrisinek tapir \
tavuk tırtıl vaşak \
yengeç zürafa'.split()

def getRandomWord(wordList):
    #bu fonksiyon bir metin listesinden rastgele bir metin seçer.
    wordIndex=random.randint(0,len(wordList)-1)
    return wordList[wordIndex]
    
def displayBoard(missedLetters, correctLetters, secretWord):
    print(HANGMAN_PICS[len(missedLetters)])
    print()
    
    print('Olmayan harfler:', end=' ')
    for letter in missedLetters:
        print(letter, end=' ')
    print()
    
    blanks = '_' * len(secretWord)
    
    for i in range(len(secretWord)): #boşlukları doğru tahminlerle değiştir
        if secretWord[i] in correctLetters:
            blanks = blanks[:i] + secretWord[i] + blanks[i+1:]
            
    for letter in blanks: # gizli kelimeyi boşluklarla görüntüle
        print(letter, end=' ')
    print()
                
def getGuess(alreadyGuessed):
    #oyuncunun yazdığı harfi alır. Sadece tek bir harf girdiğini kontrol eder.
    while True:
        print('Bir harf tahmin edin.')
        guess=input()
        guess=guess.lower()
        if len (guess) !=1:
            print('Lütfen sadece tek bir harf girin.')
        elif guess in alreadyGuessed:
            print('Bu harfi zaten girmiştiniz. Başka bir harf girin.')
        elif guess not in 'abcdefghıijklmnoöprsştuüvyz':
            print('Lütfen sadece tek bir harf girin.')
        else:
            return guess
            
def playAgain():
    #oyuncu tekrar oynamak istiyorsa True, istemiyorsa False döndürür
    print('Tekrar oynamak istiyor musunuz? (evet / hayır)')
    return input().lower().startswith('e')


print('A D A M   A S M A C A')
missedLetters =''
correctLetters =''
secretWord=getRandomWord(words)
gameIsDone = False
                      
while True:
    displayBoard(missedLetters, correctLetters, secretWord)
    
    #kullanıcıdan bir harf girmesini iste
    guess = getGuess(missedLetters + correctLetters)
    
    if guess in secretWord:
        correctLetters=correctLetters + guess
        
        #kullanıcının kazanıp kazanmadığını kontrol et.
        foundAllLetters = True
        for i in range(len(secretWord)):
            if secretWord[i] not in correctLetters:
                foundAllLetters = False;
                break
        if foundAllLetters:
            print('Evet, bildiniz. Gizli kelime "'+secretWord +
                  '" idi! Kazandınız!')
            gameIsDone = True
    else:
        missedLetters=missedLetters+guess
            
        #kullanıcının kaybedip kaybetmediğini kontrol et.
        if len(missedLetters) == len(HANGMAN_PICS) - 1:
            displayBoard(missedLetters, correctLetters, secretWord)
            print('Tahmin hakkınız doldu!\n Tam '+
                    str(len(missedLetters)) + ' yanlış ve ' +
                    str(len(correctLetters)) + ' doğru tahmin yaptınız. Gizli kelime "'+secretWord + '" idi.')
            gameIsDone = True
                
    #Oyun bittikten sonra tekrar oynayıp oynamak istemediğini sor.
    if gameIsDone:
        if playAgain():
            missedLetters = ''
            correctLetters = ''
            gameIsDone = False
            secretWord = getRandomWord(words)
        else:
            break
        
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                